
package de.itemis.exampleapp;

import java.io.Reader;
import java.util.ArrayList;
import java.util.List;

import org.simpleframework.xml.Element;
import org.simpleframework.xml.ElementList;
import org.simpleframework.xml.Root;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;

import de.itemis.base.GenericListContentProvider;

public class BlogpostsProvider extends GenericListContentProvider<BlogItem> {
	
	private static final long serialVersionUID = 1L;

	public BlogpostsProvider(String feedUrl) {
		super(feedUrl);
	}
	
	
	
	@Root(strict=false)
	public static class Rss {
		
			@ElementList(inline=true, entry="channel")
			private List<Channel> channels = new ArrayList<Channel>();
			
			public List<Channel> getChannels() {
				return channels;
			}
		
	}
	
		
	@Root(strict=false)
	public static class Channel {
		
			@ElementList(inline=true, entry="item")
			private List<BlogItem> blogItems = new ArrayList<BlogItem>();
			
			public List<BlogItem> getBlogItems() {
				return blogItems;
			}
		
	}
	

	


	
	
	@Override
	protected List<BlogItem> extractItems(Reader reader) throws Exception {
		Serializer serializer = new Persister();
		Rss root = serializer.read(Rss.class, reader);
		return root.getChannels().get(0).getBlogItems();
	}
	
	
}
